const hexList: string[] = [];
for (let i = 0; i <= 15; i++) hexList[i] = i.toString(16);

export function buildUUID(): string {
	let uuid = "";
	for (let i = 1; i <= 36; i++) {
		if (i === 9 || i === 14 || i === 19 || i === 24) uuid += "-";
		else if (i === 15) uuid += 4;
		else if (i === 20) uuid += hexList[(Math.random() * 4) | 8];
		else uuid += hexList[(Math.random() * 16) | 0];
	}
	return uuid.replace(/-/g, "");
}

let unique = 0;
export function buildShortUUID(prefix = ""): string {
	const time = Date.now();
	const random = Math.floor(Math.random() * 1000000000);
	unique++;
	return `${prefix}_${random}${unique}${String(time)}`;
}
